查看原文
其他

因变量二分类资料的Probit回归

vacleon 统计浆糊 2023-09-26

Probit回归即概率单元(Probability Unite)回归,用于因变量为分类资料的的统计分析(SPSS目前版本尚不能处理因变量为无序多分类和有序多分类的资料,只能处理因变量为二分类的资料),研究的是随着解释变量的变化,结局变量出现阳性结果的概率变化情况。概率单元回归时,最有用的就是半数发生量,比如半数致死量(LD50)、半抑制浓度(IC50)、半数有效浓度(EC50)等剂量浓度的计算,实际上就是考察不同剂量浓度与反应关系的指标的计算。

下面对Probit模型的介绍只为了更好的理解“概率单元”,只对SPSS操作与解读感兴趣可直接越过进入示例部分。

从广义上来看,Probit回归也属于线性回归的范畴,属于广义线性回归。同logistic回归类似,Probit回归也是拟合0-1型因变量的回归方法,把取值分布在实数范围的变量通过累积概率函数转换成分布在(0,1)区间的概率值。Probit回归的链接函数可以使用logit累积概率函数,也可以采用标准正态分布的累积概率函数的反函数Φ-1,即Probit函数。
我们首先回归一下logit变换与logistic回归模型:

同样的,Probit变换与Probit回归模型如下:

Φ(x) 标准正态分布的概率分布函数。概率分布函数即累积概率函数,也常被称为累积分布函数(CDF,Cumulative Distribution Function),可用于计算随机变量小于或等于x的概率,是已知横轴(某一事件)求纵轴(概率)的过程。将概率密度函数在定义域上进行积分就可以获得;

(z)标准正态分布的概率密度函数。概率密度函数(PDF,probability density function)就是概率的密度,反应的是概率在x点处的“密集程度”,可以表示随机变量每个取值有多大的可能性。对概率累积函数求导可获得;

Φ-1(.)Φ(.)的反函数,即Probit函数,也称百分点函数(PPF,Percent Point Function)、逆累积分布函数(ICDF)。给定概率p求相应累积分布的随机变量x,是已知纵轴(概率)求横轴(某一事件)的过程。有的教程将Φ-1(.)说成是概率密度函数:「Φ-1(.)是标准正态分布累积分布函数Φ(.)的反函数,即概率密度函数」,个人以为这是不恰当的,可能是本人数学不好,没能从数学上理解Φ-1(.)Φ(.)的真意。

搞清楚概率密度与累积分布这两个概念对理解Probit非常重要,概率密度与累积分布类似于物理学上的速率和位移的关系。关于概率密度函数与累积分布函数的数学介绍,可参见CSDN社区「求津问道」的文章:正态分布概率密度函数PDF(链接:https://blog.csdn.net/sinat_34546420/article/details/78757111?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~all~first_rank_v2~rank_v25-9-78757111.nonecase&utm_term=%E6%AD%A3%E6%80%81%E7%B4%AF%E7%A7%AF%E5%88%86%E5%B8%83%E5%87%BD%E6%95%B0%E7%9A%84%E5%8F%8D%E5%87%BD%E6%95%B0&spm=1000.2123.3001.4430)

概率密度函数(绿色线代表标准正态分布)及其对应的累积(概率)分布函数图如下。注意Probit曲线跟logistic曲线非常类似哦,都是在p=0.5处有拐点。

概率密度函数(PDF)、累积分布函数(CDF)与百分点函数(PPF)图如下:

https://www.itl.nist.gov/div898/handbook/eda/section3/eda362.htm

这样以来,βiXi(即β01x12x2+…βnxn)其意义就是Probit函数值。这个Probit就是Probability Unit的简称,翻译为“概率单元”,意为概率p所对应的单元【注:Φ-1(.)函数是从均值为0标准差为1的标准正态分布的累积函数图像上读取与概率p相对应的横坐标的值,统计学家布利斯(此人提出了Probit模型的最大似然估计法)把这个横坐标的值命名为“概率单元”,https://zhuanlan.zhihu.com/p/150915107】。各自变量的偏回归系数βi意义为:其他自变量取值保持不变时,自变量每改变一个单位,出现阳性结果的概率单元的改变量β0代表Xi全部取值为0时的概率单元值。如果只有一个自变量X,取值为0和1分别代表对照组和试验组,β0代表就是对照组的概率单元值,β1代表就是试验组与对照组的概率单元值的差值,这不难理解。

但“概率单元”这样一个名词实在是有些抽象,解释性不像logistic回归中的exp(βi)(即OR值)那样直观。对比上图的累积(概率)分布函数图,概率单元(x)增加时,对应概率(p)也是增加的,因此如果偏回归系数βi为正,可解释为扣除其他因素的影响,该因素会使出现阳性结果的概率增加;如果为负值,则表示该因素会使出现阳性结果的概率减少。当然我们也可以将Probit回归中的β值转算成logistic回归中的OR值。

示例:SPSS统计分析高级教程(第2版)/张文彤,董伟主编.北京:高等教育出版社,2013.3.

Hosmer和Lemeshow于1989年研究了低出生体重婴儿的影响因素,结局变量为是否分娩低出生体重儿(变量名low,0:低出生体重,即婴儿出生体重<2500克;1:正常)。考虑的影响(自变量)有:产妇妊娠前体重(lwt,磅)、产妇年龄(age,岁)、产妇在妊娠期间是否吸烟(smoke,0=未吸、1=吸烟)、本次妊娠前早产次数(ptl,次)、是否患有高血压(ht,0=否、1=是)、子宫对按摩、催产素等刺激引起收缩的应激性(ui,0=无、1=有)、妊娠前三个月社区医生随访次数(ftv,次)、种族(race,1=白人、2=黑人、3=其他民族)。

为方便解读,我们只考察单因素[是否吸烟]对新生儿出生体重的影响。
数据处理:SPSS中Probit回归默认对话框的数据格式是频数表资料,分析时需要首先进行频数加权。本例每条记录对应一个观察对象,并非数据过的频数表格式,需要在表格中增加一个表示频数的变量fre,每个记录的频数为1即可。

Transform>>Compute Variable:

Target Variable: fre;

Numeric Expression: 1

Probit分析:Analyze>>Regression>>Probit…

| 默认的模型是Probit,也可以采用Logit模型。采用Logit模型采用logistic回归是一致的。

| 响应变量:选入变量low。因变量赋值须为0和1,SPSS默认取值=1为阳性结果;

| 总观测值:选入新生成的变量fre;

| 协变量:选入变量smoke。进行Probit分析,不论选择Probit模型还是Logit模型,至少一个变量作为协变量纳入(协变量框不能空)。连续变量和二分类变量可直接作为协变量纳入,多分类变量需视情况而定。[数据变换]可实现对协变量进行lg或者ln变化,本例不做变换;

| OK

结果与解读:

【1】数据信息:共有189条记录纳入分析,其中115条出现阴性结果(正常体重)。

 

【2】收敛信息:模型经过9次迭代即收敛。默认最大迭代次数为20,可在Probit分析框中对的[选项]按钮对话框中修改。

 

【3】模型参数估计

模型表达式如下:

模型截距=-0.668,表示smoke=0即不吸烟组(对照组,基线状态)的概率单元值,β1=0.428表示smoke=1(吸烟组)与smoke=0(不吸烟组)的概率单元值差值,相比不吸烟组,吸烟组的概率单元值增加(β1=0.428>0),即孕母孕期吸烟会增加出生低出生体重的儿童概率,结果具有统计学意义(P=0.028<0.05)。

你可能觉得“孕母孕期吸烟会增加出生低出生体重的儿童概率”这种描述过于模糊,想进一步知道吸烟和不吸烟出生低体重儿童的概率是多大,或者能像logistic回归中的OR那样的解释,这个需要你对Probit的结果做进一步的求解。

SPSS中CDF&Nocentral CDF函数系列中的Cdfnorm(z)或者Cdf.Normal(z,mean,stddev)可求得概率单元下的P值,可在Transform>>Compute Variable…中实现。
Excel中的NORM.S.DIST(z,cumulative)可快速求解。该函数返回标准正态分布函数值(该分布的平均值为 0,标准偏差为 1)。Z是需要计算其分布的数值;Cumulative 是决定函数形式的逻辑值, 如果 cumulativeTRUE,则 NORMS.DIST 返回累积分布函数值;如果为 FALSE,则返回概率密度函数值。

结果如下:

不吸烟组:P=Φ(-0.668) =0.2521

【EXCEL计算公式:NORM.S.DIST(-0.668,TRUE)

吸烟组:P=Φ(-0.668+0.428) =0.4052

【EXCEL计算公式:NORM.S.DIST(-0.24,TRUE)】

OR值:OR=[0.2521/(1-0.2521)]/[0.4052/(1-0.4052)]=2.02
单因素分析时使用卡方分析也可以直接求解各组低体重婴儿出生概率及OR值:

Analyze>>Descriptive Statistics>>Crosstabs…

Row(s): smoke;

Column(s): low

[Statistic…]:选中Chi-square、Risk复选框

Continue,OK

结果如下,与Probit的结果是完全一致的:

采用二分类的logistic回归分析(Analyze>>Regression>>Binary Logistic…)的结果与Probit的结果也是一致的,本例采用二分类的logistic回归结果如下

logistic回归模型的截距β0=-1.087,其代表的是自变量取值为0(即不吸烟组)时比数(Y=1与Y=0的概率之比)的自然对数:-1.087=ln[(29/115)/(86/115)]=ln(29/86),是不吸烟组的低体重儿概率与正常体重儿概率之比的自然对数,exp(β0就是不吸烟组的概率比值;β1=0.704优势比OR=exp(β1)=2.022,自变量每改变一个单位(即从不吸烟改为吸烟时),吸烟组出现低体重儿的概率与不出现低体重儿的概率的比值是变化前相应比值的2.022倍。

Logistic模型强调的是随着解释变量的变化,结局变量的阳性结果是发生还是不发生,而Probit回归则倾向于研究解释变量阳性结果发生概率的变化情况。

【4】模型拟合优度检验:P=0.445>0.05,表明模型对数据拟合良好。

【5】单元格计数与残差:输出第一个协变量不同取值水平的一些信息。
【6】置信限度:可获得半数发生量,即概率为0.5时的概率单元的估计值。

 … E N D …

原创不易,欢迎“在看”


关注“一统浆糊”

获取更多信息

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存